在c#中逐行读取大文件

您所在的位置:网站首页 c 读取文件一行 在c#中逐行读取大文件

在c#中逐行读取大文件

2023-04-09 01:17| 来源: 网络整理| 查看: 265

我在c#中有大量文件(超过300 MB).我需要有效的方式逐行读取文件,因为一旦我尝试读取它,它需要超过30分钟,而目标时间约为3分钟.我尝试了File.ReadAllBytes,它成功且非常快速地读取文件并将其加载到字符串中.但在那之后,逐行处理字符串需要很长时间.是否有更好的方法或更快的方法.

预先感谢.

1> Kamil Budzie..:

您可以使用File.ReadLines,它将通过文件行枚举:

var lines = File.ReadLines(path); foreach(var line in lines) { // do your logic here }

它不会在第一行加载文件.它会在循环时加载它lines,因此读取更大的文件比一次加载它更好.

MSDN在描述中说 File.ReadLines

备注ReadLines和ReadAllLines方法的不同之处如下:使用ReadLines时,可以在返回整个集合之前开始枚举字符串集合; 当您使用ReadAllLines时,必须等待返回整个字符串数组才能访问该数组.因此,当您使用非常大的文件时,ReadLines可以更高效.

来自msdn的添加信息:>使用ReadLines时,可以在返回整个集合之前开始枚举字符串集合; 当您使用ReadAllLines时,必须等待返回整个字符串数组才能访问该数组.因此,当您使用非常大的文件时,ReadLines可以更高效.


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3